École Polytechnique Fédérale de Lausanne
Functional Programming in Scala Specialization
École Polytechnique Fédérale de Lausanne

Functional Programming in Scala Specialization

Program on a Higher Level. Write elegant functional code to analyze data that's big or small

Martin Odersky
Prof. Heather Miller
Prof. Viktor Kuncak

Instructors: Martin Odersky

75,033 already enrolled

Included with Coursera Plus

Get in-depth knowledge of a subject
4.6

(6,922 reviews)

Intermediate level

Recommended experience

7 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Get in-depth knowledge of a subject
4.6

(6,922 reviews)

Intermediate level

Recommended experience

7 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Write purely functional programs using recursion, pattern matching, and higher-order functions

  • Design immutable data structures

  • Write programs that effectively use parallel collections to achieve performance

  • Manipulate data with Spark and Scala

Details to know

Shareable certificate

Add to your LinkedIn profile

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

Advance your subject-matter expertise

  • Learn in-demand skills from university and industry experts
  • Master a subject or tool with hands-on projects
  • Develop a deep understanding of key concepts
  • Earn a career certificate from École Polytechnique Fédérale de Lausanne

Specialization - 5 course series

What you'll learn

  • Understand the principles of functional programming

  • Write purely functional programs, using recursion, pattern matching, and higher-order functions

  • Design immutable data structures

  • Combine functional programming with objects and classes

Skills you'll gain

Category: Algorithms
Category: Scala Programming
Category: Computer Programming
Category: Object Oriented Programming (OOP)
Category: Integrated Development Environments
Category: Programming Principles
Category: Data Structures
Category: Functional Design
Category: Javascript

What you'll learn

  • Recognize and apply design principles of functional programs

  • Design functional libraries and their APIs

  • Write simple functional reactive applications

  • Understand reasoning techniques for programs that combine functions and state

Skills you'll gain

Category: Algorithms
Category: Scala Programming
Category: Java
Category: Performance Tuning
Category: Other Programming Languages
Category: Data Structures
Category: Functional Design
Category: Distributed Computing
Parallel programming

Parallel programming

Course 332 hours

What you'll learn

Skills you'll gain

Category: Scala Programming
Category: Geospatial Mapping
Category: Real Time Data
Category: Data Manipulation
Category: User Interface (UI)
Category: Apache Spark
Category: Visualization (Computer Graphics)
Category: Interactive Data Visualization
Category: Data Transformation
Category: Big Data
Category: Spatial Data Analysis

What you'll learn

Skills you'll gain

Category: Event-Driven Programming
Category: Algorithms
Category: Scala Programming
Category: Java
Category: Performance Tuning
Category: Software Design
Category: Programming Principles
Category: Data Structures
Category: Software Design Patterns
Category: Functional Design

What you'll learn

Skills you'll gain

Category: Apache Hadoop
Category: Scala Programming
Category: Data Analysis
Category: Performance Tuning
Category: Data Manipulation
Category: Data Processing
Category: Apache Spark
Category: Functional Design
Category: Big Data
Category: Distributed Computing
Category: SQL

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructors

Martin Odersky
École Polytechnique Fédérale de Lausanne
6 Courses234,002 learners
Prof. Heather Miller
École Polytechnique Fédérale de Lausanne
2 Courses103,463 learners

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

New to Software Development? Start here.

Coursera Plus

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions